Skip to content

feat: UMAAL — Ralph Loop, sub-agents, REPL, enhanced tools#98

Closed
jpleva91 wants to merge 4 commits intomainfrom
feat/umaal-repl
Closed

feat: UMAAL — Ralph Loop, sub-agents, REPL, enhanced tools#98
jpleva91 wants to merge 4 commits intomainfrom
feat/umaal-repl

Conversation

@jpleva91
Copy link
Copy Markdown
Contributor

@jpleva91 jpleva91 commented Apr 1, 2026

Summary

  • Ralph Loop: Stateless-iterative execution (pick → implement → validate → commit → reset)
  • Sub-agent orchestrator: SpawnSync, SpawnAsync, concurrency control, context compression
  • Interactive REPL: shellforge chat — pair-programming with persistent conversation history
  • Enhanced tools: edit_file, glob, grep — closes the gap with Claude Code CLI

New packages

  • internal/ralph/ — task picker, JSONL log, Ralph Loop (21 tests)
  • internal/orchestrator/ — SpawnSync/Async, compress (12 tests)
  • internal/repl/ — interactive REPL with color output (13 tests)
  • Enhanced internal/tools/ — 3 new tools (24 tests)

CLI

shellforge chat                     # Interactive REPL
shellforge ralph tasks.json         # Multi-task loop
shellforge ralph --validate "go test"

Test plan

  • 70 new tests passing
  • go build ./cmd/shellforge/ succeeds
  • Manual: shellforge chat session
  • Manual: shellforge ralph with tasks.json

🤖 Generated with Claude Code

jpleva91 and others added 4 commits April 1, 2026 01:14
…gramming

Three new tools to close the gap with Claude Code CLI:
- edit_file: targeted find-and-replace with exact match, multi-match rejection, and permission preservation
- glob: file pattern matching with recursive ** support, skips .git/node_modules
- grep: regex content search with file:line output, file type filtering, and directory exclusions

Includes 24 unit tests covering edge cases (no match, multiple matches, invalid regex, permissions, etc).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Terminal-based interactive mode with persistent conversation history across
prompts, making ShellForge usable as a pair-programming tool. Key features:
- Conversation history maintained across prompts (the core innovation)
- Shell command passthrough with ! prefix
- Ctrl+C interrupts current run without killing the session
- ANSI color output for prompt, errors, and governance denials
- Session stats (turns, tool calls, denials, duration) after each run

Includes 13 unit tests covering command parsing, shell execution, EOF
handling, and REPL lifecycle.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Integrates the REPL into the CLI with provider/model selection:
  shellforge chat                       # Interactive mode with Ollama
  shellforge chat --provider anthropic  # Use Anthropic API
  shellforge chat --model claude-haiku-4-5-20251001

Wires up governance engine, provider construction, and REPL config.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@jpleva91 jpleva91 closed this Apr 1, 2026
@jpleva91 jpleva91 reopened this Apr 1, 2026
@jpleva91
Copy link
Copy Markdown
Contributor Author

jpleva91 commented Apr 1, 2026

Superseded — all changes merged via #97 (Ralph Loop + orchestrator), #99 (docs), and #100 (REPL + tools + chat CLI).

@jpleva91 jpleva91 closed this Apr 1, 2026
@jpleva91 jpleva91 deleted the feat/umaal-repl branch April 1, 2026 01:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant